package com.ruoyi.mes.domain;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 工艺施工对象 mes_process_exec
 * 
 * @author ruoyi
 * @date 2021-12-03
 */
public class MesProcessExec extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String processExecUuid;

    /** 工艺规程ID（外键） */
    @Excel(name = "工艺规程ID", readConverterExp = "外=键")
    private String fkMesProcessUuid;

    private String fkMesTaskUuid;


    /** 订单明细ID（外键） */
    @Excel(name = "订单明细ID", readConverterExp = "外=键")
    private String fkOrderDetailUuid;

    /** 父ID */
    @Excel(name = "父ID")
    private String parentUuid;

    /** 祖先 */
    @Excel(name = "祖先")
    private String ancestors;

    /** 版本号 */
    @Excel(name = "版本号")
    private String versionNum;

    /** 图纸号 */
    @Excel(name = "图纸号")
    private String drawNum;

    /** 物品表ID（外键） */
    @Excel(name = "物品表ID", readConverterExp = "外=键")
    private String fkItemUuid;

    /** 序号 */
    @Excel(name = "序号")
    private String orderNum;

    /** 生成生产计划的级别（字典表） */
    @Excel(name = "生成生产计划的级别", readConverterExp = "字=典表")
    private String sysDictLevelGenPs;

    /** 是否完工（字典表） */
    @Excel(name = "是否完工", readConverterExp = "字=典表")
    private String sysYesNoDone;

    /** 定额时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "定额时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date quotaDt;

    /** 定额级别（字典表） */
    @Excel(name = "定额级别", readConverterExp = "字=典表")
    private String mesDictQuotaLevel;

    /** 单位时长（分钟） */
    @Excel(name = "单位时长", readConverterExp = "分=钟")
    private Long quotaPerMinutes;

    /** 总时长（分钟） */
    @Excel(name = "总时长", readConverterExp = "分=钟")
    private Long quotaTotalMinutes;

    /** 数量（根据订单数量及生产情况人为确定） */
    @Excel(name = "数量", readConverterExp = "根=据订单数量及生产情况人为确定")
    private BigDecimal execQty;

    /** 计量单位 */
    @Excel(name = "计量单位")
    private String wmsDictMeasuringUnit;

    /** 状态（正常、停用，字典表） */
    @Excel(name = "状态", readConverterExp = "正=常、停用，字典表")
    private String sysNormalDisable;

    /** 单据标题 */
    @Excel(name = "单据标题")
    private String docTitle;

    /** 单据编号 */
    @Excel(name = "单据编号")
    private String docNum;

    /** 单据时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "单据时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date docDt;

    /** 备注 */
    @Excel(name = "备注")
    private String docNote;

    /** 经办人ID（用户表ID） */
    @Excel(name = "经办人ID", readConverterExp = "用=户表ID")
    private Long fkAttentionUserId;

    /** 审核人（用户表ID） */
    @Excel(name = "审核人", readConverterExp = "用=户表ID")
    private String fkConfirmUserId;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date confirmDt;

    /** 审核状态（字典表） */
    @Excel(name = "审核状态", readConverterExp = "字=典表")
    private String oaDictConfirmStatus;

    /** 审核意见 */
    @Excel(name = "审核意见")
    private String confirmNote;

    /** 执行_审批人 */
    @Excel(name = "执行_审批人")
    private String execFkConfirmUserId;

    /** 执行_审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "执行_审批时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date execComfirmDt;

    /** 执行_审核状态（字典表） */
    @Excel(name = "执行_审核状态", readConverterExp = "字=典表")
    private String execOaDictConfirmStatus;

    private String attentionUserName;
    private String confirmUserName;

    private String processAttentionUserName;
    private String processDocNum;
    private String deptName;
    private String itemSpecification;
    private String orderItemName;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date docDtEnd;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date docDtStart;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date execDocDt;
    private String taskDocNum;
    private String itemUuid;
    private String partNum;
    private Date orderDocDt;
    private String orderDocNum;
    private String custName;
    private BigDecimal orderDetailQty;
    private BigDecimal orderDetailAmt;
    private String orderAmt;
    private String orderUnit;

    public BigDecimal getOrderDetailAmt() {
        return orderDetailAmt;
    }

    public void setOrderDetailAmt(BigDecimal orderDetailAmt) {
        this.orderDetailAmt = orderDetailAmt;
    }

    public String getOrderUnit() {
        return orderUnit;
    }

    public void setOrderUnit(String orderUnit) {
        this.orderUnit = orderUnit;
    }

    public String getOrderAmt() {
        return orderAmt;
    }

    public void setOrderAmt(String orderAmt) {
        this.orderAmt = orderAmt;
    }

    public String getOrderItemName() {
        return orderItemName;
    }

    public void setOrderItemName(String orderItemName) {
        this.orderItemName = orderItemName;
    }

    public Date getOrderDocDt() {
        return orderDocDt;
    }

    public void setOrderDocDt(Date orderDocDt) {
        this.orderDocDt = orderDocDt;
    }

    public String getOrderDocNum() {
        return orderDocNum;
    }

    public void setOrderDocNum(String orderDocNum) {
        this.orderDocNum = orderDocNum;
    }

    public String getCustName() {
        return custName;
    }

    public void setCustName(String custName) {
        this.custName = custName;
    }

    public BigDecimal getOrderDetailQty() {
        return orderDetailQty;
    }

    public void setOrderDetailQty(BigDecimal orderDetailQty) {
        this.orderDetailQty = orderDetailQty;
    }

    public String getItemSpecification() {
        return itemSpecification;
    }

    public void setItemSpecification(String itemSpecification) {
        this.itemSpecification = itemSpecification;
    }

    public String getPartNum() {
        return partNum;
    }

    public void setPartNum(String partNum) {
        this.partNum = partNum;
    }

    public String getItemUuid() {
        return itemUuid;
    }

    public void setItemUuid(String itemUuid) {
        this.itemUuid = itemUuid;
    }

    public String getConfirmUserName() {
        return confirmUserName;
    }

    public void setConfirmUserName(String confirmUserName) {
        this.confirmUserName = confirmUserName;
    }

    public Date getExecDocDt() {
        return execDocDt;
    }

    public void setExecDocDt(Date execDocDt) {
        this.execDocDt = execDocDt;
    }

    public String getProcessAttentionUserName() {
        return processAttentionUserName;
    }

    public void setProcessAttentionUserName(String processAttentionUserName) {
        this.processAttentionUserName = processAttentionUserName;
    }

    public String getProcessDocNum() {
        return processDocNum;
    }

    public void setProcessDocNum(String processDocNum) {
        this.processDocNum = processDocNum;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public Date getDocDtEnd() {
        return docDtEnd;
    }

    public void setDocDtEnd(Date docDtEnd) {
        this.docDtEnd = docDtEnd;
    }

    public Date getDocDtStart() {
        return docDtStart;
    }

    public void setDocDtStart(Date docDtStart) {
        this.docDtStart = docDtStart;
    }

    public String getTaskDocNum() {
        return taskDocNum;
    }

    public void setTaskDocNum(String taskDocNum) {
        this.taskDocNum = taskDocNum;
    }

    private List<MesProcessExec> children = new ArrayList<MesProcessExec>();

    public String getFkMesTaskUuid() {
        return fkMesTaskUuid;
    }

    public void setFkMesTaskUuid(String fkMesTaskUuid) {
        this.fkMesTaskUuid = fkMesTaskUuid;
    }

    public List<MesProcessExec> getChildren() {
        return children;
    }

    public void setChildren(List<MesProcessExec> children) {
        this.children = children;
    }

    public String getAttentionUserName() {
        return attentionUserName;
    }

    public void setAttentionUserName(String attentionUserName) {
        this.attentionUserName = attentionUserName;
    }

    /** 执行_审核意见 */
    @Excel(name = "执行_审核意见")
    private String execConfirmNote;

    private String processVersionNum;

    private String processDrawNum;

    public String getProcessVersionNum() {
        return processVersionNum;
    }

    public void setProcessVersionNum(String processVersionNum) {
        this.processVersionNum = processVersionNum;
    }

    public String getProcessDrawNum() {
        return processDrawNum;
    }

    public void setProcessDrawNum(String processDrawNum) {
        this.processDrawNum = processDrawNum;
    }

    public void setProcessExecUuid(String processExecUuid)
    {
        this.processExecUuid = processExecUuid;
    }

    public String getProcessExecUuid() 
    {
        return processExecUuid;
    }
    public void setFkMesProcessUuid(String fkMesProcessUuid) 
    {
        this.fkMesProcessUuid = fkMesProcessUuid;
    }

    public String getFkMesProcessUuid() 
    {
        return fkMesProcessUuid;
    }
    public void setFkOrderDetailUuid(String fkOrderDetailUuid) 
    {
        this.fkOrderDetailUuid = fkOrderDetailUuid;
    }

    public String getFkOrderDetailUuid() 
    {
        return fkOrderDetailUuid;
    }
    public void setParentUuid(String parentUuid) 
    {
        this.parentUuid = parentUuid;
    }

    public String getParentUuid() 
    {
        return parentUuid;
    }
    public void setAncestors(String ancestors) 
    {
        this.ancestors = ancestors;
    }

    public String getAncestors() 
    {
        return ancestors;
    }
    public void setVersionNum(String versionNum) 
    {
        this.versionNum = versionNum;
    }

    public String getVersionNum() 
    {
        return versionNum;
    }
    public void setDrawNum(String drawNum) 
    {
        this.drawNum = drawNum;
    }

    public String getDrawNum() 
    {
        return drawNum;
    }
    public void setFkItemUuid(String fkItemUuid) 
    {
        this.fkItemUuid = fkItemUuid;
    }

    public String getFkItemUuid() 
    {
        return fkItemUuid;
    }
    public void setOrderNum(String orderNum) 
    {
        this.orderNum = orderNum;
    }

    public String getOrderNum() 
    {
        return orderNum;
    }
    public void setSysDictLevelGenPs(String sysDictLevelGenPs) 
    {
        this.sysDictLevelGenPs = sysDictLevelGenPs;
    }

    public String getSysDictLevelGenPs() 
    {
        return sysDictLevelGenPs;
    }
    public void setSysYesNoDone(String sysYesNoDone) 
    {
        this.sysYesNoDone = sysYesNoDone;
    }

    public String getSysYesNoDone() 
    {
        return sysYesNoDone;
    }
    public void setQuotaDt(Date quotaDt) 
    {
        this.quotaDt = quotaDt;
    }

    public Date getQuotaDt() 
    {
        return quotaDt;
    }
    public void setMesDictQuotaLevel(String mesDictQuotaLevel) 
    {
        this.mesDictQuotaLevel = mesDictQuotaLevel;
    }

    public String getMesDictQuotaLevel() 
    {
        return mesDictQuotaLevel;
    }
    public void setQuotaPerMinutes(Long quotaPerMinutes) 
    {
        this.quotaPerMinutes = quotaPerMinutes;
    }

    public Long getQuotaPerMinutes() 
    {
        return quotaPerMinutes;
    }
    public void setQuotaTotalMinutes(Long quotaTotalMinutes) 
    {
        this.quotaTotalMinutes = quotaTotalMinutes;
    }

    public Long getQuotaTotalMinutes() 
    {
        return quotaTotalMinutes;
    }
    public void setExecQty(BigDecimal execQty) 
    {
        this.execQty = execQty;
    }

    public BigDecimal getExecQty() 
    {
        return execQty;
    }
    public void setWmsDictMeasuringUnit(String wmsDictMeasuringUnit) 
    {
        this.wmsDictMeasuringUnit = wmsDictMeasuringUnit;
    }

    public String getWmsDictMeasuringUnit() 
    {
        return wmsDictMeasuringUnit;
    }
    public void setSysNormalDisable(String sysNormalDisable) 
    {
        this.sysNormalDisable = sysNormalDisable;
    }

    public String getSysNormalDisable() 
    {
        return sysNormalDisable;
    }
    public void setDocTitle(String docTitle) 
    {
        this.docTitle = docTitle;
    }

    public String getDocTitle() 
    {
        return docTitle;
    }
    public void setDocNum(String docNum) 
    {
        this.docNum = docNum;
    }

    public String getDocNum() 
    {
        return docNum;
    }
    public void setDocDt(Date docDt) 
    {
        this.docDt = docDt;
    }

    public Date getDocDt() 
    {
        return docDt;
    }
    public void setDocNote(String docNote) 
    {
        this.docNote = docNote;
    }

    public String getDocNote() 
    {
        return docNote;
    }
    public void setFkAttentionUserId(Long fkAttentionUserId) 
    {
        this.fkAttentionUserId = fkAttentionUserId;
    }

    public Long getFkAttentionUserId() 
    {
        return fkAttentionUserId;
    }
    public void setFkConfirmUserId(String fkConfirmUserId) 
    {
        this.fkConfirmUserId = fkConfirmUserId;
    }

    public String getFkConfirmUserId() 
    {
        return fkConfirmUserId;
    }
    public void setConfirmDt(Date confirmDt) 
    {
        this.confirmDt = confirmDt;
    }

    public Date getConfirmDt() 
    {
        return confirmDt;
    }
    public void setOaDictConfirmStatus(String oaDictConfirmStatus) 
    {
        this.oaDictConfirmStatus = oaDictConfirmStatus;
    }

    public String getOaDictConfirmStatus() 
    {
        return oaDictConfirmStatus;
    }
    public void setConfirmNote(String confirmNote) 
    {
        this.confirmNote = confirmNote;
    }

    public String getConfirmNote() 
    {
        return confirmNote;
    }
    public void setExecFkConfirmUserId(String execFkConfirmUserId) 
    {
        this.execFkConfirmUserId = execFkConfirmUserId;
    }

    public String getExecFkConfirmUserId() 
    {
        return execFkConfirmUserId;
    }
    public void setExecComfirmDt(Date execComfirmDt) 
    {
        this.execComfirmDt = execComfirmDt;
    }

    public Date getExecComfirmDt() 
    {
        return execComfirmDt;
    }
    public void setExecOaDictConfirmStatus(String execOaDictConfirmStatus) 
    {
        this.execOaDictConfirmStatus = execOaDictConfirmStatus;
    }

    public String getExecOaDictConfirmStatus() 
    {
        return execOaDictConfirmStatus;
    }
    public void setExecConfirmNote(String execConfirmNote) 
    {
        this.execConfirmNote = execConfirmNote;
    }

    public String getExecConfirmNote() 
    {
        return execConfirmNote;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("processExecUuid", getProcessExecUuid())
            .append("fkMesProcessUuid", getFkMesProcessUuid())
            .append("fkOrderDetailUuid", getFkOrderDetailUuid())
            .append("parentUuid", getParentUuid())
            .append("ancestors", getAncestors())
            .append("versionNum", getVersionNum())
            .append("drawNum", getDrawNum())
            .append("fkItemUuid", getFkItemUuid())
            .append("orderNum", getOrderNum())
            .append("sysDictLevelGenPs", getSysDictLevelGenPs())
            .append("sysYesNoDone", getSysYesNoDone())
            .append("quotaDt", getQuotaDt())
            .append("mesDictQuotaLevel", getMesDictQuotaLevel())
            .append("quotaPerMinutes", getQuotaPerMinutes())
            .append("quotaTotalMinutes", getQuotaTotalMinutes())
            .append("execQty", getExecQty())
            .append("wmsDictMeasuringUnit", getWmsDictMeasuringUnit())
            .append("sysNormalDisable", getSysNormalDisable())
            .append("docTitle", getDocTitle())
            .append("docNum", getDocNum())
            .append("docDt", getDocDt())
            .append("docNote", getDocNote())
            .append("fkAttentionUserId", getFkAttentionUserId())
            .append("fkConfirmUserId", getFkConfirmUserId())
            .append("confirmDt", getConfirmDt())
            .append("oaDictConfirmStatus", getOaDictConfirmStatus())
            .append("confirmNote", getConfirmNote())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("execFkConfirmUserId", getExecFkConfirmUserId())
            .append("execComfirmDt", getExecComfirmDt())
            .append("execOaDictConfirmStatus", getExecOaDictConfirmStatus())
            .append("execConfirmNote", getExecConfirmNote())
            .toString();
    }
}
